/*Opciones de Cabecera*/
header{ package pl.equipo13.p6; }
/* Analizador lexico */
class AnalexANTLR extends Lexer;
options{
    importVocab = AnasintANTLR;
 	charVocabulary = '\3'..'\377';
}

protected LETRA_MIN : ('a'..'z');
protected LETRA_MAY : ('A'..'Z'); 
protected COMILLAS: '"';
protected NUEVA_LINEA: ('\n' | "\r\n") {newline();};

APARENTESIS: '(';
CPARENTESIS: ')';
DOSPUNTOS: ':';
SEPARADOR: ';';

protected ASTERISCO: '*';
protected MAS: '+';
protected OPCIONAL: '?';
OR: '|';
FIN: "EOF";

OPERADORUNITARIO: ASTERISCO | MAS | OPCIONAL;

IREGLA: LETRA_MIN (LETRA_MIN | '_')+;
ITOKEN: LETRA_MAY (LETRA_MAY | '_')+; 

CADENA: COMILLAS (options { greedy=false; }:.)* COMILLAS;
BLANCO: (' '|'\t'|'\n'|"\r\n"){$setType(Token.SKIP);};